package day15;

/**
 * 员工基类
 * 包含所有员工的共同属性
 */
public abstract class Employee {
    // 员工姓名
    protected String name;
    
    // 员工性别
    protected String gender;
    
    // 员工出生日期
    protected String birthDate;
    
    // 员工类别
    protected String category;
    
    /**
     * 构造方法
     * @param name 员工姓名
     * @param gender 员工性别
     * @param birthDate 员工出生日期
     * @param category 员工类别
     */
    public Employee(String name, String gender, String birthDate, String category) {
        this.name = name;
        this.gender = gender;
        this.birthDate = birthDate;
        this.category = category;
    }
    
    // name的getter方法
    public String getName() {
        return name;
    }
    
    // gender的getter方法
    public String getGender() {
        return gender;
    }
    
    // birthDate的getter方法
    public String getBirthDate() {
        return birthDate;
    }
    
    // category的getter方法
    public String getCategory() {
        return category;
    }
    
    /**
     * 计算员工工资的抽象方法，由子类实现
     */
    public abstract void computeSalary();
}